<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <EnableDefaultItems>true</EnableDefaultItems>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <IsPackable>true</IsPackable>
    <PackageDescription>Logging abstractions for Microsoft.Extensions.Logging.

Commonly Used Types:
Microsoft.Extensions.Logging.ILogger
Microsoft.Extensions.Logging.ILoggerFactory
Microsoft.Extensions.Logging.ILogger&lt;TCategoryName&gt;
Microsoft.Extensions.Logging.LogLevel
Microsoft.Extensions.Logging.Logger&lt;T&gt;
Microsoft.Extensions.Logging.LoggerMessage
Microsoft.Extensions.Logging.Abstractions.NullLogger</PackageDescription>
    <DisableSourceGeneratorPropertyName>DisableMicrosoftExtensionsLoggingSourceGenerator</DisableSourceGeneratorPropertyName>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="$(CommonPath)Extensions\TypeNameHelper\TypeNameHelper.cs"
             Link="Common\src\Extensions\TypeNameHelper\TypeNameHelper.cs" />
    <Compile Include="$(CommonPath)Extensions\Logging\NullExternalScopeProvider.cs"
             Link="Common\src\Extensions\Logging\NullExternalScopeProvider.cs" />
    <Compile Include="$(CommonPath)Extensions\Logging\NullScope.cs"
             Link="Common\src\Extensions\Logging\NullScope.cs" />
    <Compile Include="$(CommonPath)Extensions\Logging\DebuggerDisplayFormatting.cs"
             Link="Common\src\Extensions\Logging\DebuggerDisplayFormatting.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs"
             Link="Common\System\Text\ValueStringBuilder.cs" />
    <Compile Include="$(CommonPath)System\ThrowHelper.cs"
             Link="Common\System\ThrowHelper.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" />
    <PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.DependencyInjection.Abstractions\src\Microsoft.Extensions.DependencyInjection.Abstractions.csproj" />

    <ProjectReference Include="..\gen\Microsoft.Extensions.Logging.Generators.Roslyn3.11.csproj"
                      ReferenceOutputAssembly="false"
                      PackAsAnalyzer="true"
                      Condition="'$(DotNetBuildSourceOnly)' != 'true'" />
    <ProjectReference Include="..\gen\Microsoft.Extensions.Logging.Generators.Roslyn4.0.csproj"
                      ReferenceOutputAssembly="false"
                      PackAsAnalyzer="true" />
    <ProjectReference Include="..\gen\Microsoft.Extensions.Logging.Generators.Roslyn4.4.csproj"
                      ReferenceOutputAssembly="false"
                      PackAsAnalyzer="true" />
  </ItemGroup>

</Project>
